From a939203e6e324ad0237d4f3bd083ecc8ae9a704b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 13 Oct 2020 15:51:36 +0200 Subject: [PATCH] gtkmodelbutton: Drop special case to close GtkPopoverMenu With ::cascade-popdown in place, this special case is not necessary anymore. --- gtk/gtkmodelbutton.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c index 54b55260ec..d55391de43 100644 --- a/gtk/gtkmodelbutton.c +++ b/gtk/gtkmodelbutton.c @@ -939,22 +939,6 @@ switch_menu (GtkModelButton *button) gtk_stack_set_visible_child_name (GTK_STACK (stack), button->menu_name); } -static void -close_menu (GtkModelButton *self) -{ - GtkWidget *popover; - - popover = gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_POPOVER); - while (popover != NULL) - { - gtk_popover_popdown (GTK_POPOVER (popover)); - if (GTK_IS_POPOVER_MENU (popover)) - popover = gtk_popover_menu_get_parent_menu (GTK_POPOVER_MENU (popover)); - else - popover = NULL; - } -} - static void gtk_model_button_clicked (GtkModelButton *self) { @@ -975,7 +959,11 @@ gtk_model_button_clicked (GtkModelButton *self) } else if (self->role == GTK_BUTTON_ROLE_NORMAL) { - close_menu (self); + GtkWidget *popover; + + popover = gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_POPOVER); + if (popover) + gtk_popover_popdown (GTK_POPOVER (popover)); } if (self->action_helper) -- 2.30.2